package Map;

public class Map {
	private int _tailleX;
	private int _tailleY;
	// private ArrayList<Zone> _map = new ArrayList<Zone>();
	private ZoneImpl _zoneMap;

	/**
	 * Constructeur
	 * 
	 * @param tailleX
	 * @param tailleY
	 */
	public Map(int tailleX, int tailleY) {
		if (!(_tailleX % 5 == 0 && _tailleY % 5 == 0))
			throw new IllegalArgumentException(
					"La map doit etre un multiple de 5");
		else {
			setTailleX(tailleX);
			setTailleY(tailleY);
		}
		_zoneMap = (ZoneImpl) ZoneFactory.createZoneRect(_tailleX, _tailleY);

		// initialiserRandomMap();
	}

	/**
	 * @param x
	 * @param y
	 * @return cherche une tuilet et la retourne
	 */
	public Tuile findTuile(int x, int y) {
		return _zoneMap.findTuile(x, y);
	}

	// private void initialiserRandomMap() {
	// for(int i = 0; i<_tailleX; i+=5) {
	// for (int j = 0; j<_tailleY; j+=5)
	// _map.add(ZoneFactory.createZoneRect(new Point(i, j), 5, 5));
	// }
	// }

	/**
	 * @param tailleX
	 */
	public void setTailleX(int tailleX) {
		_tailleX = tailleX;
	}

	/**
	 * @param tailleY
	 */
	public void setTailleY(int tailleY) {
		_tailleY = tailleY;
	}

	/**
	 * @return la taille en y
	 */
	public int getTailleY() {
		return _tailleY;
	}

	/**
	 * @return la taille en x
	 */
	public int getTailleX() {
		return _tailleX;
	}

	/**
	 * @return la zone
	 */
	public Zone getZone() {
		return _zoneMap;
	}
}
